<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>异常查询</title>
<link rel="stylesheet" type="text/css"
	href="../ext/resources/css/ext-all.css"></link>
	<link rel="stylesheet" type="text/css" href="../ext/resources/css/xtheme-slate.css"></link>
<script src="../ext/adapter/ext/ext-base.js"></script>
<script src="../ext/ext-all.js"></script>
<script src="../ext/src/locale/ext-lang-zh_CN.js"></script>
<script src="../ext/base/PagingMemoryProxy.js"></script>
<script type="text/javascript">
	Ext
			.onReady(function() {
				Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);      
				function checkUserSessionStatus(conn,response,options){      
				    if(response.getResponseHeader('sessionstatus')){      
				    	parent.location.href='/xdj/index.jsp';   
				    }      
				}  
				Ext.BLANK_IMAGE_URL = 'ext/resources/images/default/s.gif';
				//表格
				var formQuery;
				
				var cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), //自动增加序列号
				{
					header : '路线名称',
					dataIndex : 'lineName',
					width : 90,
					sortable : true
					
				}, //True表示为可在该列上进行排列
			    {
					header : '区域名称',
					dataIndex : 'zoneName',
					width : 120
				}, {
					header : '设备名称',
					dataIndex : 'devName',
					width : 120
				}, {
					header : '巡检项目',
					dataIndex : 'chkItem',
					width : 110
				}, {
					header : '值次名称',
					dataIndex : 'dutyName',
					width : 60
				}, {
					header : '班次名称',
					dataIndex : 'dutyName',
					width : 60
				}, {
					header : '轮次序号',
					dataIndex : 'turnOrder',
					width : 60
				}, {
					header : '实际巡检时间',
					dataIndex : 'pda_CHKDatetime',
					width : 120
				}, {
					header : '巡检项目类型',
					dataIndex : 'chkTypeName',
					width : 100
				}, {
					header : '巡检结果(数值)',
					dataIndex : 'chkResultValue',
					width : 110
				}, {
					header : '巡检结果(字符)',
					dataIndex : 'chkResultChar',
					width : 110
				}, {
					header : '异常等级',
					dataIndex : 'bugLevel',
					width : 90
				}, {
					header : '人员工号',
					dataIndex : 'operatorCode',
					width : 90
				},{
					header : '人员名称',
					dataIndex : 'userName',
					width : 90
				}]);//定义相应的列模型

				var store = new Ext.data.JsonStore({
					fields : [ 'lineName', 'zoneName', 'devName', 'chkItem',
							'dutyName', 'claName', 'turnOrder',
							'pda_CHKDatetime', 'chkTypeName','chkResultValue',
							'chkResultChar','bugLevel','operatorCode','userName']
				});//存储前两项的定义的东西，将其连接起来

				var panel = new Ext.grid.GridPanel({
					cm : cm,
					height : 540,
					store : store,
					renderTo : 'grid', //渲染容器
					enableColumnMove : false,//不可以使表格列移动
					enableColumnResize : false, //不可以改变列的宽度
					stripeRows : false, //True表示为显示行的分隔符
					loadMask : true, //会有一个Ext.LoadMask的遮罩效果
					trackMouseOver : true, //True表示为鼠标移动时高亮显示（默认为true）。
					enableDragDrop : true,
					bbar : new Ext.PagingToolbar({
						pageSize : 3, //每页显示几条
						store : store,
						displayInfo : true,
						displayMsg : '显示{0}，到{1}条，一共{2}', //固定写法
						emptyMsg : '无此记录'
					})
				});
				var zoneStore = new Ext.data.JsonStore({
					url : "../base/zoneid_load",
					autoLoad : true,
					fields : [ "zoneID", "zoneName" ]
				});

				var lineStore = new Ext.data.JsonStore({
					url : "../check/chkline_load",
					autoLoad : true,
					fields : [ "lineID", "lineName" ]
				});

				var deptStore = new Ext.data.JsonStore({
					url : "../base/depart_load",
					autoLoad : true,
					fields : [ "id", "text" ]
				});

				var dutyStore = new Ext.data.JsonStore({
					url : "../base/duty_load",
					fields : [ "dutyID", "dutyName" ]
				});

				var classStore = new Ext.data.JsonStore({
					url : "../base/class_load",
					fields : [ "classID", "claName" ]
				});
				 formQuery = new Ext.form.FormPanel(
						{
							frame : true,
							height : 120,
							buttonAlign : 'top',
							labelAlign : 'right',
							layout : 'form',
							items : [
									{
										layout : 'column',
										items : [ {
											layout : 'form',
											labelWidth : 60,
											items : [ {
												name : 'planDetail.startTime',
												fieldLabel : '巡检时间',
												width : 120,
												xtype : 'datefield',
												format : 'Y-m-d'
											} ]
										}, {
											labelWidth : 60,
											layout : 'form',
											items : [ {
												name : 'planDetail.endTime',
												fieldLabel : '到',
												width : 120,
												xtype : 'datefield',
												format : 'Y-m-d'
											} ]
										}, {
											layout : 'form',
											items : [ {
												name : 'planDetail.devName',
												fieldLabel : '设备名称',
												width : 120,
												xtype : 'textfield'
											} ]
										}, {
											layout : 'form',
											items : [ {
												name : 'planDetail.deviceCode',
												fieldLabel : '设备编码',
												width : 120,
												xtype : 'textfield'
											} ]
										}, {
											layout : 'form',
											items : [ {
												name : 'planDetail.IDCardInfo',
												fieldLabel : 'ID卡号',
												width : 120,
												xtype : 'textfield'
											} ]
										} ]

									},
									{
										layout : 'column',
										items : [
												{
													layout : 'form',
													labelWidth : 60,
													items : [ {
														name : 'planDetail.operatorCode',
														fieldLabel : '人员工号',
														width : 120,
														xtype : 'textfield'
													} ]
												},
												{
													layout : 'form',
													labelWidth : 60,
													items : [ {
														name : 'planDetail.userName',
														fieldLabel : '人员名称',
														width : 120,
														xtype : 'textfield'
													} ]
												},
												{
													layout : 'form',
													items : [ {
														name : 'planDetail.turnOrder',
														fieldLabel : '轮次',
														width : 120,
														xtype : 'textfield'
													} ]
												},
												{
													layout : 'form',
													items : [ {
														fieldLabel : '线路名称',
														width : 120,
														xtype : 'combo',
														hiddenName : 'planDetail.chkLineID',
														emptyText : '--请选择--',
														forceSelection : true,
														listWidth : 120,
														store : lineStore,
														valueField : 'lineID',
														displayField : 'lineName',
														typeAhead : true,
														mode : 'local',
														triggerAction : 'all',
														selectOnFocus : true,
														allowBlank : true,
														listeners : {
															'change' : function() {
																Ext.Ajax
																		.request({
																			url : 'detail_loadLineZone',
																			params : {
																				'planDetail.chkLineID' : Ext
																						.getDom("planDetail.chkLineID").value
																			},
																			success : function(
																					response) {
																				var result = Ext.util.JSON
																						.decode(response.responseText);
																				if (result.success == true) {
																					if (result.zones != null) {
																						zoneStore
																								.loadData(
																										result.zones,
																										false);
																					} else {
																						zoneStore
																								.load();
																					}
																				}
																			}
																		});
															}
														}
													} ]
												},
												{
													layout : 'form',
													items : [ {
														fieldLabel : '区域名称',
														width : 120,
														xtype : 'combo',
														hiddenName : 'planDetail.zoneID',
														emptyText : '--请选择--',
														forceSelection : true,
														listWidth : 150,
														store : zoneStore,
														valueField : 'zoneID',
														displayField : 'zoneName',
														typeAhead : true,
														mode : 'local',
														triggerAction : 'all',
														selectOnFocus : true,
														allowBlank : true

													} ]
												} ]
									},
									{
										layout : 'column',
										items : [
												{
													layout : 'form',
													labelWidth : 60,
													items : [ {
														fieldLabel : '部门名称',
														width : 120,
														xtype : 'combo',
														hiddenName : 'departmentID',
														emptyText : '--请选择--',
														forceSelection : true,
														listWidth : 120,
														store : deptStore,
														valueField : 'id',
														displayField : 'text',
														typeAhead : true,
														mode : 'local',
														triggerAction : 'all',
														selectOnFocus : true,
														allowBlank : true,
														listeners : {
															'change' : function() {
																Ext.Ajax
																		.request({
																			url : '../result/detail_loadDutyClass',
																			params : {
																				'departmentID' : Ext
																						.getDom("departmentID").value
																			},
																			success : function(
																					response) {
																				var result = Ext.util.JSON
																						.decode(response.responseText);
																				if (result.success == true) {
																					var cla = Ext
																							.getCmp("cla");
																					var duty = Ext
																							.getCmp("duty");
																					if (result.classes != null) {
																						classStore
																								.loadData(result.classes);
																						cla
																								.show();
																					} else {
																						cla
																								.hide();
																					}
																					if (result.dutys) {
																						dutyStore
																								.loadData(result.dutys);
																						duty
																								.show();
																					} else {
																						duty
																								.hide();
																						
																					}

																				}
																			}
																		});
															}
														}

													} ]
												},
												{
													layout : 'form',
													labelWidth : 60,
													items : [ {
														id : 'duty',
														width : 120,
														fieldLabel : '值次名称',
														xtype : 'combo',
														hiddenName : 'planDetail.dutyID',
														emptyText : '--请选择--',
														forceSelection : true,
														listWidth : 120,
														hidden : true,
														//hideLabel:true,
														store : dutyStore,
														typeAhead : true, // 自动将第一个搜索到的选项补全输入()
														valueField : 'dutyID',
														displayField : 'dutyName',
														typeAhead : true,
														mode : 'local',
														triggerAction : 'all',
														selectOnFocus : true
													} ]
												},
												{
													layout : 'form',
													labelWidth : 60,
													items : [ {
														id : 'cla',
														fieldLabel : '班次名称',
														width : 120,
														xtype : 'combo',
														hiddenName : 'planDetail.classID',
														emptyText : '--请选择--',
														forceSelection : true,
														listWidth : 120,
														hidden : true,
														//hideLabel:true,
														store : classStore,
														valueField : 'classID',
														displayField : 'claName',
														typeAhead : true,
														mode : 'local',
														triggerAction : 'all',
														selectOnFocus : true
													} ]
												} ]
									} ],
							buttons : [
									{
										text : '查询',disabled:true,id:'cFindBox',
										handler : function() {
											
											formQuery.form
													.submit({
														waitMsg : '正在查询数据....',
														url : 'exception_get',
														method : 'post',
														success : function(
																formQuery,
																action) {
															var result = Ext.util.JSON
																	.decode(action.response.responseText);
															if (result.success == true) {
																if(result.details!=null){
																	store.loadData(result.details,false) ;
																}
															} else {
																Ext.Msg
																		.alert(
																				"提示",
																				"操作失败。");
															}
														}
													});
										}
									}, '-', '-', '-', {
										text : '导出EXCEL',disabled:true,id:'cSaveToExcel',
										handler:function(){
											//formQuery.findById("duty").show();
											 formQuery.findById("duty").getEl().up('.x-form-item').setDisplayed(true);
										}
									} ]
						});
				
				new Ext.Viewport({
					layout : 'border', // 使用border布局  
					border : false,
					items : [ {
						region : 'center',
						border : false,
						items : [ formQuery, panel ]
					} ],
					listeners:{
						'beforerender' : function(cmp) {
							// set role
							var store=new Ext.data.JsonStore({
								url: '../system/role_loadFunc?funcCode=ControlExceptionFind',
								autoLoad : true,
								fields: ["functioncode"]
							});
							store.load({
							    callback: function(records, options, success){
							    	var i=0;
							    	for(; i<records.length; i++) {
							    		var id = records[i].get("functioncode");
							    		//alert('d'+Ext.getCmp('56').text);
							    		if(Ext.getCmp(id)!=null) {
							    			Ext.getCmp(id).setDisabled(false);
							    		}
							        }
							    },
							    scope: store
							});
						}
					}
				});

			});
</script>
</head>
<body>
	<div id="grid"></div>
	<div id="duty"></div>
</body>
</html>